Dynamic Task Allocation in Asynchronous Shared Memory
نویسندگان
چکیده
Task allocation is a classic distributed problem in which a set of p potentially faulty processes must cooperate to perform a set of tasks. This paper considers a new dynamic version of the problem, in which tasks are injected adversarially during an asynchronous execution. We give the first asynchronous shared-memory algorithm for dynamic task allocation, and we prove that our solution is optimal within logarithmic factors. The main algorithmic idea is a randomized concurrent data structure called a dynamic to-do tree, which allows processes to pick new tasks to perform at random from the set of available tasks, and to insert tasks at random empty locations in the data structure. Our analysis shows that these properties avoid duplicating work unnecessarily. On the other hand, since the adversary controls the input as well the scheduling, it can induce executions where lots of processes contend for a few available tasks, which is inefficient. However, we prove that every algorithm has the same problem: given an arbitrary input, if OPT is the worst-case complexity of the optimal algorithm on that input, then the expected work complexity of our algorithm on the same input is O(OPT logm), where m is an upper bound on the number of tasks that are present in the system at any given time.
منابع مشابه
Dynamic Task Allocation
Task allocation is a classic distributed problem in which a set of p potentially faulty processes must cooperate to perform a set of m tasks. This paper considers a new dynamic version of the problem, in which tasks are injected adversarially during an asynchronous execution. We give the first asynchronous shared-memory algorithm for dynamic task allocation, and we prove that our solution is op...
متن کاملDynamic Multimethod Communication between Clusters of Workstations
– As parallel library standards make it easier to use clusters of workstations for large computational jobs, concentration must be placed on the underlying communication mechanism used by the library. Also, with dynamic resource allocation schemes and task migration, it is now possible to move tasks in mid–execution to exploit architectures that offer faster communication networks. This paper d...
متن کاملDistributed, low contention task allocation
Designing a good task allocation algorithm faces the challenge of allowing high levels of throughput, so that tasks are executed fast and processor parallelism is exploited, while still guaranteeing a low level of memory contention, so that performance does not su er because of limitations on processor-to-memory bandwidth. In this work, we present a comparative study of throughput and contentio...
متن کاملHierarchical Work Stealing on Manycore Clusters
Partitioned Global Address Space languages like UPC offer a convenient way of expressing large shared data structures, especially for irregular structures that require asynchronous random access. But the static SPMD parallelism model of UPC does not support divide and conquer parallelism or other forms of dynamic parallelism. We introduce a dynamic tasking library for UPC that provides a simple...
متن کاملTechnical Report No . MSSU – EIRS – ERC – 97 – 8 Dynamic Communication Mechanism Switching in Hector by Samuel
– As parallel library standards make it easier to use networks of workstations for large computational jobs, concentration must be placed on the underlying communication mechanism used by the library. Also, with dynamic resource allocation schemes and task migration, it is now possible to move tasks in mid–execution to exploit architectures that offer faster communication networks. This paper d...
متن کامل